{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# bqplot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`bqplot` is a [Grammar of Graphics](https://www.cs.uic.edu/~wilkinson/TheGrammarOfGraphics/GOG.html) based interactive plotting framework for the Jupyter notebook. The library offers a simple bridge between `Python` and `d3.js` allowing users to quickly and easily build complex GUI's with layered interactions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Basic Plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To begin start by investigating the introductory notebooks:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. [Introduction](Introduction.ipynb) - If you're new to `bqplot`, get started with our Introduction notebook\n",
    "2. [Basic Plotting](Basic%20Plotting/Basic%20Plotting.ipynb) - which demonstrates some basic `bqplot` plotting commands and how to use them\n",
    "3. [Pyplot](Basic%20Plotting/Pyplot.ipynb) - which introduces the simpler `pyplot` API\n",
    "4. [Tutorials](Tutorials.ipynb) - which provides tutorials for using pyplot, object model, linking with ipywidgets and selectors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Marks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Move to exploring the different `Marks` that you can use to represent your data. You have two options for rendering marks:\n",
    "* Object Model, which is a verbose API but gives you full flexibility and customizability\n",
    "* Pyplot, which is a simpler API (similar to matplotlib's pyplot) and sets meaningul defaults for the user\n",
    "\n",
    "\n",
    "1. Bars: Bar mark ([Object Model](Marks/Object%20Model/Bars.ipynb), [Pyplot](Marks/Pyplot/Bars.ipynb))\n",
    "* Bins: Backend histogram mark ([Object Model](Marks/Object%20Model/Bins.ipynb), [Pyplot](Marks/Pyplot/Bins.ipynb))\n",
    "* Boxplot: Boxplot mark ([Object Model](Marks/Object%20Model/Boxplot.ipynb), [Pyplot](Marks/Pyplot/Boxplot.ipynb))\n",
    "* Candles: OHLC mark ([Object Model](Marks/Object%20Model/Candles.ipynb), [Pyplot](Marks/Pyplot/Candles.ipynb))\n",
    "* FlexLine: Flexible lines mark ([Object Model](Marks/Object%20Model/FlexLine.ipynb), Pyplot)\n",
    "* Graph: Network mark ([Object Model](Marks/Object%20Model/Graph.ipynb), Pyplot)\n",
    "* GridHeatMap: Grid heatmap mark ([Object Model](Marks/Object%20Model/GridHeatMap.ipynb), [Pyplot](Marks/Pyplot/GridHeatMap.ipynb))\n",
    "* HeatMap: Heatmap mark ([Object Model](Marks/Object%20Model/HeatMap.ipynb), [Pyplot](Marks/Pyplot/HeatMap.ipynb))\n",
    "* Hist: Histogram mark ([Object Model](Marks/Object%20Model/Hist.ipynb), [Pyplot](Marks/Pyplot/Hist.ipynb))\n",
    "* Image: Image mark ([Object Model](Marks/Object%20Model/Image.ipynb), [Pyplot](Marks/Pyplot/Image.ipynb))\n",
    "* Label: Label mark ([Object Model](Marks/Object%20Model/Label.ipynb), [Pyplot](Marks/Pyplot/Label.ipynb))\n",
    "* Lines: Lines mark ([Object Model](Marks/Object%20Model/Lines.ipynb), [Pyplot](Marks/Pyplot/Lines.ipynb))\n",
    "* Map: Geographical map mark ([Object Model](Marks/Object%20Model/Map.ipynb), [Pyplot](Marks/Pyplot/Map.ipynb))\n",
    "* Market Map: Tile map mark ([Object Model](Marks/Object%20Model/Market%20Map.ipynb), Pyplot)\n",
    "* Pie: Pie mark ([Object Model](Marks/Object%20Model/Pie.ipynb), [Pyplot](Marks/Pyplot/Pie.ipynb))\n",
    "* Scatter: Scatter mark ([Object Model](Marks/Object%20Model/Scatter.ipynb), [Pyplot](Marks/Pyplot/Scatter.ipynb))\n",
    "* Mega Scatter: webgl-based Scatter mark ([Scatter Mega](Marks/Object%20Model/ScatterMega.ipynb))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Interactions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Learn how to use `bqplot` interactions to convert your plots into interactive applications:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "13. [Mark Interactions](Interactions/Mark%20Interactions.ipynb) - which describes the mark specific interactions and how to use them\n",
    "14. [Interaction Layer](Interactions/Interaction%20Layer.ipynb) - which describes the use of the interaction layers, including selectors and how they can be used for facilitating better interaction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Advanced Plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once you've mastered the basics of `bqplot`, you can use these notebooks to learn about some of it's more advanced features."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "15. [Plotting Dates](Advanced%20Plotting/Plotting%20Dates.ipynb)\n",
    "16. [Advanced Plotting](Advanced%20Plotting/Advanced%20Plotting.ipynb)\n",
    "17. [Animations](Advanced%20Plotting/Animations.ipynb)\n",
    "18. [Axis Properties](Advanced%20Plotting/Axis%20Properties.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Applications"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, we have a collection of notebooks that demonstrate how to use `bqplot` and `ipywidgets` to create advanced interactive applications."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "19. [Wealth of Nations](Applications/Wealth%20of%20Nations.ipynb) - a recreation of [Hans Rosling's famous TED Talk](http://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Help"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For more help,  \n",
    "- Reach out to us via the `ipywidgets` gitter chat \n",
    "[![https://gitter.im/ipython/ipywidgets](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ipython/ipywidgets?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n",
    "\n",
    "\n",
    "\n",
    "- Or take a look at a talk given on Interactive visualizations in Jupyter at PyData"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from IPython.display import YouTubeVideo\n",
    "YouTubeVideo('eVET9IYgbao')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
